package user_model

import (
	"hft/Database/admin/user_db"
	utils "hft/Http/Utils"
	"time"
)

// 屏蔽电话
type ShieldPhone struct {
	ID       uint `json:"id"`
	IsShield bool `json:"is_shield"`
}

// 客户请求参数
type UserSearchParams struct {
	ActivityID  int      `json:"activityId"`
	CreateTime  []string `json:"create_time"`
	FirstInTime []string `json:"first_in_time"`
	UpdateTime  []string `json:"update_time"`
	IsShield    bool     `json:"is_shield"`
	Level       string   `json:"level"`
	LouPanName  string   `json:"louPanName"`
	OriginName  int      `json:"originName"`
	Phone       string   `json:"phone"`
	Region      string   `json:"region"`
	Valid       int      `json:"valid"`
	utils.Page
}

/* 返回的客户信息 */
type UserSearchList struct {
	Username     string `json:"username"`
	Phone        string `json:"phone"`
	OriginName   string `json:"origin_name"`
	IntendCity   string `json:"intend_city"`
	IntendRegion string `json:"intend_region"`
	IntendLou    string `json:"intend_lou"`
}

// 客户列表
type UserList struct {
	ID             int      `json:"id"`
	Name           string   `json:"username"`
	Phone          string   `json:"phone"`
	OriginName     string   `json:"origin_name"`
	City           string   `json:"city"`
	IntendLou      string   `json:"intend_lou"`
	IntendRegion   string   `json:"intend_region"`
	Level          string   `json:"level"`
	FirstInTime    string   `json:"first_in_time"`
	LastUpdateTime string   `json:"last_update_time"`
	CreateTime     string   `json:"create_time"`
	Ip             string   `json:"ip"`
	Valid          int      `json:"valid"`
	RegionList     []string `json:"region_list"`
	Port           int      `json:"port"`
	IsShield       bool     `json:"is_shield"`
}

type FindUserList struct {
	ID               int       `json:"id"`
	Username         string    `json:"username"`
	Phone            string    `json:"phone"`
	CityName         string    `json:"city_name"`
	Level            string    `json:"level"`
	FirstClueTime    time.Time `json:"first_clue_time"`
	CreateTime       time.Time `json:"create_time"`
	UpdateTime       time.Time `json:"newest_clue_time"`
	IntendLou        string    `json:"intend_lou"`
	Ip               string    `json:"ip"`
	IsValid          int       `json:"valid" gorm:"column:is_valid"`
	FC_port          int       `json:"port"`
	FC_activity_name string    `json:"activity_name"`
	RegionList       []string  `json:"region_list" gorm:"-"`
	IsShield         bool      `json:"is_shield"`
}

type IntendRegionList struct {
	UserID     int    `json:"user_id"`
	RegionID   int    `json:"region_id"`
	RegionName string `json:"region_name"`
}

type ClueItem struct {
	user_db.Clue
	OriginName string `json:"origin_name" gorm:"-"`
}

type UserDetail struct {
	CreateTime       string         `json:"create_time"`   //创建时间
	UseTimes         int            `json:"use_times"`     //产品使用次数
	ProtectTimes     string         `json:"protect_times"` //释放时间
	FollowTimes      int            `json:"follow_times"`  //跟进次数
	Username         string         `json:"username"`
	Level            string         `json:"level"`
	NowBroker        string         `json:"now_broker"`
	FirstInTime      string         `json:"first_in_time"` //首次跟进时间
	Phone            string         `json:"phone"`
	Valid            int            `json:"valid"`
	NewestFollowTime string         `json:"newest_follow_time"` //最近一次录入时间
	ClueList         []*ClueItem    `json:"clue_list"`
	FollowList       []FollowUpItem `json:"follow_list"`
	City             string         `json:"city"`
}

type FollowUpItem struct {
	IsSystemMessage int    `json:"is_system_message" bson:"is_system_message"`
	ManagerID       int    `json:"manager_id" bson:"manager_id"`
	ManagerName     string `json:"manager_name" bson:"manager_name"`
	Cont            string `json:"cont" bson:"cont"`
	UserUUID        string `json:"user_uuid" bson:"user_uuid"`
	RecordTime      string `json:"record_time" bson:"record_time"`
}
